#ifndef MAINWINDOWSHOW_H
#define MAINWINDOWSHOW_H

#include <QApplication>
#include <QMainWindow>
#include <QMenuBar>
#include <QPushButton>
#include <QStatusBar>
#include <QWidget>
#include <QLabel>

#include "MainWindow_page.h" //UI界面布局
#include "RtspDecodeThread.h"
#include "SignalControl.h"

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

//主界面显示
class MainWindowShow : public QMainWindow
{
    Q_OBJECT
private:
    Ui::MainWindow *ui_main;
    RtspDecodeThread& dec_thread;//解码线程的引用
    QLabel *videoLabel; // 用于显示视频帧的标签
    bool ss_signal;//启停信号
    SignalControl *sig;//信号收发器
public:
    explicit MainWindowShow(RtspDecodeThread& decThread,\
                            RunConfig& d_config,\
                            QWidget *parent = nullptr,\
                            int width = 1280,\
                            int height = 720);
    ~MainWindowShow();

private slots:
    void switch_rtsp_status_clicked();//启停按键响应函数
    void poweroff_fun_clicked();//关机按键响应函数
public slots:
    void updateFrame(const QImage &frame); // 用于更新视频帧的槽函数
    void handl_warnings(int a);//处理警告弹窗
};

#endif
